727C - Guess the Array - CodeForces Solution


constructive algorithms interactive math *1400

Please click on ads to support us..

Python Code:

n = int(input())
ans = [0] * n
print("? 1 2")
a = int(input())
print("? 2 3")
b = int(input())
print("? 1 3")
c = int(input())
ans[0] = (a + b + c) // 2 - b
ans[1] = a - ans[0]
ans[2] = b - ans[1]
for i in range(3, n):
    print(f"? {i} {i + 1}")
    ans[i] = int(input()) - ans[i - 1]
print("!", *ans)


C++ Code:

#include<bits/stdc++.h>
#define ed '\n'
using namespace std;
int main()
{
long int n;
cin>>n;
long int a[n+1],i,x,sum=0,d[3];
for(i=1;i<=n;i++)
{
  if(i==1 || i==2)
  {
   cout<<"?"<<" "<<i<<" "<<(i+1)<<ed;
  }
  else
  {
  cout<<"?"<<" "<<"1"<<" "<<i<<ed;
  }
  cin>>x;
  if(i==1 || i==2 || i==3)
  {
      d[i]=x;
  }
  if(i==3)
  {
      a[i]=((d[2]+d[3])-d[1])/2;
      a[2]=(d[2]-a[i]);
      a[1]=(d[1]-a[2]);
  }
  else
  {
      a[i]=(x-a[1]);
  }
}
cout<<"!"<<" ";
for(i=1;i<=n;i++)
{
 cout<<a[i]<<" ";
}
cout<<ed;
return 0;
}


Comments

Submit
0 Comments
More Questions

1472B - Fair Division
1281C - Cut and Paste
141A - Amusing Joke
112A - Petya and Strings
677A - Vanya and Fence
1621A - Stable Arrangement of Rooks
472A - Design Tutorial Learn from Math
1368A - C+=
450A - Jzzhu and Children
546A - Soldier and Bananas
32B - Borze
1651B - Prove Him Wrong
381A - Sereja and Dima
41A - Translation
1559A - Mocha and Math
832A - Sasha and Sticks
292B - Network Topology
1339A - Filling Diamonds
910A - The Way to Home
617A - Elephant
48A - Rock-paper-scissors
294A - Shaass and Oskols
1213A - Chips Moving
490A - Team Olympiad
233A - Perfect Permutation
1360A - Minimal Square
467A - George and Accommodation
893C - Rumor
227B - Effective Approach
1534B - Histogram Ugliness